package sv.ues.fia.adminperfildocentes;

import java.util.Calendar;

import sv.ues.fia.adminperfildocentes.model.Experiencia;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Toast;

public class ActualizarExperienciaDocenteActivity extends Activity {

	ControlDB helper;
	Button pickDate;
	DatePickerDialog dpd;
	EditText editEmpresa;
	EditText editCargo;
	EditText editFechaInicio;
	EditText editFechaFin;
	String idExperiencia;
	String idDocente;
	
	int Year;
	int month;
	int day;
	final int DATEINICIO_DIALOG_ID = 0;
	final int DATEFINAL_DIALOG_ID = 1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_actualizar_experiencia_docente);
		
		Bundle bundle = getIntent().getExtras();
		idExperiencia = bundle.getString("idExperiencia");
		idDocente = bundle.getString("idDocente");
		
	
	
		pickDate = (Button) findViewById(R.id.pickDate);
		editFechaInicio = (EditText) findViewById(R.id.editFechaInicio);
		editFechaFin = (EditText) findViewById(R.id.editFechaFin);
		editCargo = (EditText) findViewById(R.id.editCargo);
		editEmpresa = (EditText) findViewById(R.id.editEmpresa);

		final Calendar calendario = Calendar.getInstance();
		Year = calendario.get(Calendar.YEAR);
		month = calendario.get(Calendar.MONTH);
		day = calendario.get(Calendar.DAY_OF_MONTH);
		
	
		helper = new ControlDB(this);
		helper.abrir();
		Experiencia experiencia = helper.consultarExperiencia(idExperiencia);

		helper.cerrar();

		if (experiencia == null) {
			Toast.makeText(this, "experiencia con id " + idExperiencia + " no encontrada",
					Toast.LENGTH_LONG).show();
		} else {

			
			editFechaInicio.setText(experiencia.getFechaini());
			editFechaFin.setText(experiencia.getFechafin());
			editCargo.setText(bundle.getString("cargo"));
			editEmpresa.setText(bundle.getString("empresa"));
			

		}

		
	}

	// llama al calendario
	@SuppressWarnings("deprecation")
	public void llamarCalendarInicio(View v) {
		showDialog(DATEINICIO_DIALOG_ID);
	}
	
	// llama al calendario
	@SuppressWarnings("deprecation")
	public void llamarCalendarFin(View v) {
		showDialog(DATEFINAL_DIALOG_ID);
	}

	// crean el dialogo con el calendario
	@Override
	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case DATEINICIO_DIALOG_ID:
			return new DatePickerDialog(this, mDateInicioSetListener, Year, month,
					day);
		case DATEFINAL_DIALOG_ID:
			return new DatePickerDialog(this, mDateFinSetListener, Year, month,
					day);
		}
		return null;
	}

	// coloca la fecha en el text
	private void updateDisplayInicio() {
		editFechaInicio.setText(new StringBuilder()
				// Month is 0 based so add 1
				.append(day).append("/").append(month + 1).append("/")
				.append(Year).append(" "));
	}
	
	// coloca la fecha en el text
	private void updateDisplayFin() {
		editFechaFin.setText(new StringBuilder()
				// Month is 0 based so add 1
				.append(day).append("/").append(month + 1).append("/")
				.append(Year).append(" "));
	}

	// crea el metodo q genera la fecha
	private DatePickerDialog.OnDateSetListener mDateInicioSetListener = new DatePickerDialog.OnDateSetListener() {

		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			Year = year;
			month = monthOfYear;
			day = dayOfMonth;
			updateDisplayInicio();
		}
	};
	
	private DatePickerDialog.OnDateSetListener mDateFinSetListener = new DatePickerDialog.OnDateSetListener() {

		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			Year = year;
			month = monthOfYear;
			day = dayOfMonth;
			updateDisplayFin();
		}
	};
	

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.insertar_experiencia_docente, menu);
		return true;
	}
	
	public void actualizarExperiencia(View v) {
		
		String fechaini=editFechaInicio.getText().toString();
		String fechafin=editFechaFin.getText().toString();
		Experiencia experiencia = new Experiencia();
		experiencia.setIdexperiencia(Integer.valueOf(idExperiencia));
		experiencia.setFechaini(fechaini);
		experiencia.setFechafin(fechafin);
		
		helper.abrir();
		int accion = helper.actualizar(experiencia);
		helper.cerrar();
		if (accion == -1 || accion == 0) {
			Toast.makeText(this, R.string.erroractualizar, Toast.LENGTH_SHORT)
					.show();
			Intent intent1 = new Intent(this, DocenteMenuActivity.class);
			intent1.putExtra("idDocente", Long.valueOf(idDocente));
			startActivity(intent1);
		} else {
			Toast.makeText(this, R.string.okactualizar, Toast.LENGTH_SHORT)
					.show();
			Intent intent2 = new Intent(this, DocenteMenuActivity.class);
			intent2.putExtra("idDocente", Long.valueOf(idDocente));
			startActivity(intent2);
		}
		finish();
	}
	
	public void limpiarTexto(View v) {
	
		editFechaInicio.setText("");
		editFechaFin.setText("");
		
	}

}
